﻿//有三个字符串 S, S1, S2，其中，S长度不超过 300，S1和 S2的长度不超过 10。
//
//现在，我们想要检测 S1和 S2是否同时在 S中出现，且 S1位于 S2的左边，并在 S中互不交叉（即，S1的右边界点在 S2左边界点的左侧）。
//计算满足上述条件的最大跨距（即，最大间隔距离：最右边的 S2的起始点与最左边的 S1的终止点之间的字符数目）。
//
//如果没有满足条件的 S1，S2存在，则输出 −1。
//
//例如，S =abcd123ab888efghij45ef67kl, S1 =ab, S2 =ef，其中，S1
//在 S中出现了 2次，S2也在 S中出现了 2次，最大跨距为：18。
//
//输入格式
//输入共一行，包含三个字符串 S, S1, S2，字符串之间用逗号隔开。
//
//数据保证三个字符串中不含空格和逗号。
//
//输出格式
//输出一个整数，表示最大跨距。
//
//如果没有满足条件的 S1和 S2存在，则输出 −1。
//
//输入样例：
//abcd123ab888efghij45ef67kl, ab, ef
//输出样例：
//18



//#include<iostream>
//using namespace std;
//int main()
//{
//    string s1, s2, s;
//    char c;
//    while (cin >> c, c != ',') s += c;
//    while (cin >> c, c != ',') s1 += c;
//    cin >> s2;
//
//
//    int a = s.find(s1);
//    int b = s.rfind(s2);
//    cout << a << " " << b << endl;
//    int x = b - a - s1.size();
//    if (a > -1 && b > -1 && x >= 0)cout << x << endl;
//
//    else cout << "-1" << endl;
//}

//#include<iostream>
//using namespace std;
//int main()
//{
//    string s1, s2, s;
//    char c;
//    while (cin >> c, c != ',') s += c;
//    while (cin >> c, c != ',') s1 += c;
//    cin >> s2;
//    
//    int l = 0;
//    if (s.size() < s1.size() || s.size() < s2.size())puts("-1");
//    else
//    {
//        while (l + s1.size() <= s.size())
//        {
//            int k = 0;
//            while (k < s1.size())
//            {
//                if (s[l + k] != s1[k]) break;
//                k++;
//            }
//            if (k == s1.size()) break;
//            l++;
//        }
//        int r = s.size() - s2.size();
//        while (r >= 0)
//        {
//            int k = 0;
//            while (k < s2.size())
//            {
//                if (s[r + k] != s2[k])break;
//                k++;
//            }
//            if (k == s2.size())break;
//            r--;
//        }
//        l += s1.size()-1;
//        if (l >= r)puts("-1");
//        else printf("%d\n", r - 1 - l);
//    }
//}